var KOC = require('koc.common.utils');

var StateData = require("../statedata");
var DALFactory = require("../../lib/dal/dal-factory");
var CommonUtils = require("../../lib/common-utils");

module.exports = {
    //region Main
    Main: function (req, res, callback) {
        res.render("order-manage/main", callback);
    },
    //endregion
    //region Room_Manage
    Room_Manage: {
        Live_List: function (req, res, callback) {
            res.render("order-manage/room-manage/live-list", callback);
        },
        Live_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到直播单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/live-info", callback);
                return;
            }
            KOC.Async.series([
                //读取直播单据信息
                function (callback) {
                    DALFactory.User.Order_Live.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到直播单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_Live = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_Live.RealName = KOC.StringUtils.Cover(_PageData.Order_Live.RealName, "Name");
                        }
                        callback();
                    });
                }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/live-info", callback);
            });
        },
        Gift_List: function (req, res, callback) {
            res.render("order-manage/room-manage/gift-list", callback);
        },
        Gift_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到礼物单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/gift-info", callback);
                return;
            }
            KOC.Async.series([
                //读取礼物单据信息
                function (callback) {
                    DALFactory.User.Order_Gift.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到礼物单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_Gift = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_Gift.User_RealName = KOC.StringUtils.Cover(_PageData.Order_Gift.User_RealName, "Name");
                            _PageData.Order_Gift.User_RealName_Gift = KOC.StringUtils.Cover(_PageData.Order_Gift.User_RealName_Gift, "Name");
                        }
                        callback();
                    });
                }
                // //读取艺人信息
                // function (callback) {
                //     DALFactory.User.User_Info.Info(_PageData.Order_Gift.User_ID_Anchor, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有相到相关用户信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Anchor = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "IsAnchor",
                //             "IsFamily",
                //             "IsAdmin",
                //             "OAuth_QQ_ID",
                //             "OAuth_Weibo_ID",
                //             "OAuth_Weixin_ID"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取艺人公会信息
                // function (callback) {
                //     if (!_PageData.User_Anchor.IsFamily) {
                //         callback();
                //         return;
                //     }
                //     DALFactory.User.User_Family.Info(_PageData.User_Anchor.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有找到用户公会信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Anchor.User_Family = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "Family_ID",
                //             "IsMaster",
                //             "RightCode",
                //             "Create_Date",
                //             "Create_IP",
                //             "Status"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取送出人信息
                // function (callback) {
                //     DALFactory.User.User_Info.Info(_PageData.Order_Gift.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有相到相关用户信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Info = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "IsAnchor",
                //             "IsFamily",
                //             "IsAdmin",
                //             "OAuth_QQ_ID",
                //             "OAuth_Weibo_ID",
                //             "OAuth_Weixin_ID"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取送出人公会信息
                // function (callback) {
                //     if (!_PageData.User_Info.IsFamily) {
                //         callback();
                //         return;
                //     }
                //     DALFactory.User.User_Family.Info(_PageData.User_Info.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有找到用户公会信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Info.User_Family = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "Family_ID",
                //             "IsMaster",
                //             "RightCode",
                //             "Create_Date",
                //             "Create_IP",
                //             "Status"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取接收人信息
                // function (callback) {
                //     DALFactory.User.User_Info.Info(_PageData.Order_Gift.User_ID_Gift, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有相到相关用户信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Gift = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "IsAnchor",
                //             "IsFamily",
                //             "IsAdmin",
                //             "OAuth_QQ_ID",
                //             "OAuth_Weibo_ID",
                //             "OAuth_Weixin_ID"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取接收人公会信息
                // function (callback) {
                //     if (!_PageData.User_Gift.IsFamily) {
                //         callback();
                //         return;
                //     }
                //     DALFactory.User.User_Family.Info(_PageData.User_Gift.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有找到用户公会信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Gift.User_Family = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "Family_ID",
                //             "IsMaster",
                //             "RightCode",
                //             "Create_Date",
                //             "Create_IP",
                //             "Status"
                //         ]);
                //         callback();
                //     });
                // }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/gift-info", callback);
            });
        },
        Guardian_List: function (req, res, callback) {
            res.render("order-manage/room-manage/guardian-list", callback);
        },
        Guardian_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到守护单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/guardian-info", callback);
                return;
            }
            KOC.Async.series([
                //读取守护单据信息
                function (callback) {
                    DALFactory.User.Order_Guardian.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到守护单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_Guardian = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_Guardian.User_RealName = KOC.StringUtils.Cover(_PageData.Order_Guardian.User_RealName, "Name");
                            _PageData.Order_Guardian.User_RealName_Guardian = KOC.StringUtils.Cover(_PageData.Order_Guardian.User_RealName_Guardian, "Name");
                        }
                        callback();
                    });
                }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/guardian-info", callback);
            });
        },
        Horn_List: function (req, res, callback) {
            res.render("order-manage/room-manage/horn-list", callback);
        },
        Horn_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到喇叭单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/horn-info", callback);
                return;
            }
            KOC.Async.series([
                //读取礼物单据信息
                function (callback) {
                    DALFactory.User.Order_Horn.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到喇叭单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_Horn = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_Horn.User_RealName = KOC.StringUtils.Cover(_PageData.Order_Horn.User_RealName, "Name");
                            _PageData.Order_Horn.User_RealName_Anchor = KOC.StringUtils.Cover(_PageData.Order_Horn.User_RealName_Anchor, "Name");
                        }
                        callback();
                    });
                }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/room-manage/horn-info", callback);
            });
        }
    },
    //endregion
    //region Other_Manage
    Other_Manage:{
        VIP_List: function (req, res, callback) {
            res.render("order-manage/other-manage/vip-list", callback);
        },
        VIP_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到VIP购买单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/other-manage/vip-info", callback);
                return;
            }
            KOC.Async.series([
                //读取VIP购买单据信息
                function (callback) {
                    DALFactory.User.Order_VIP.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到守护单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_VIP = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_VIP.User_RealName = KOC.StringUtils.Cover(_PageData.Order_VIP.User_RealName, "Name");
                        }
                        callback();
                    });
                }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/other-manage/vip-info", callback);
            });
        },
        Mounts_List: function (req, res, callback) {
            res.render("order-manage/other-manage/mounts-list", callback);
        },
        Mounts_Info:function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到坐骑购买单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/other-manage/mounts-info", callback);
                return;
            }
            KOC.Async.series([
                //读取坐骑购买单据信息
                function (callback) {
                    DALFactory.User.Order_Mounts.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到坐骑单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_Mounts = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_Mounts.User_RealName = KOC.StringUtils.Cover(_PageData.Order_Mounts.User_RealName, "Name");
                        }
                        callback();
                    });
                }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/other-manage/mounts-info", callback);
            });
        }
    },
    //endregion
    //region Admin_Manage
    Admin_Manage:{
        AnchorIntegral_List: function (req, res, callback) {
            res.render("order-manage/admin-manage/anchorintegral-list", callback);
        },
        AnchorIntegral_Info: function (req, res, callback) {
            var _PageData = {
                flag: 0,
                Order_No: KOC.StringUtils.ToString(req.params.id)
            };
            if (!_PageData.Order_No) {
                _PageData.flag = "没有找到艺人罚分单据信息";
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/admin-manage/anchorintegral-info", callback);
                return;
            }
            KOC.Async.series([
                //读取艺人罚分单据信息
                function (callback) {
                    DALFactory.User.Order_AnchorIntegral.Info(_PageData.Order_No, function (retValue) {
                        if (retValue.hasError) {
                            callback(retValue);
                            return;
                        }
                        if (!retValue.returnObject) {
                            retValue.hasError = true;
                            retValue.message = "没有找到守护单据信息";
                            callback(retValue);
                            return;
                        }
                        _PageData.Order_AnchorIntegral = retValue.returnObject;
                        if (StateData.RightCode.Admin(req, res, "{User}[Base](Info-IDCard)") !== 0) {
                            _PageData.Order_AnchorIntegral.User_RealName = KOC.StringUtils.Cover(_PageData.Order_AnchorIntegral.User_RealName, "Name");
                        }
                        callback();
                    });
                }
                // ,
                // //读取艺人信息
                // function (callback) {
                //     DALFactory.User.User_Info.Info(_PageData.Order_AnchorIntegral.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有相到相关艺人信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Info = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "IsAnchor",
                //             "IsFamily",
                //             "IsAdmin",
                //             "OAuth_QQ_ID",
                //             "OAuth_Weibo_ID",
                //             "OAuth_Weixin_ID"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取艺人公会信息
                // function (callback) {
                //     if (!_PageData.User_Info.IsFamily) {
                //         callback();
                //         return;
                //     }
                //     DALFactory.User.User_Family.Info(_PageData.User_Info.User_ID, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有找到用户公会信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Info.User_Family = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "Family_ID",
                //             "IsMaster",
                //             "RightCode",
                //             "Create_Date",
                //             "Create_IP",
                //             "Status"
                //         ]);
                //         callback();
                //     });
                // },
                // //读取管理员信息
                // function (callback) {
                //     DALFactory.User.User_Info.Info(_PageData.Order_AnchorIntegral.User_ID_Admin, function (retValue) {
                //         if (retValue.hasError) {
                //             callback(retValue);
                //             return;
                //         }
                //         if (!retValue.returnObject) {
                //             retValue.hasError = true;
                //             retValue.message = "没有相到相关管理员信息";
                //             callback(retValue);
                //             return;
                //         }
                //         _PageData.User_Admin = KOC.Lodash.pick(retValue.returnObject, [
                //             "User_ID",
                //             "IsAnchor",
                //             "IsFamily",
                //             "IsAdmin",
                //             "OAuth_QQ_ID",
                //             "OAuth_Weibo_ID",
                //             "OAuth_Weixin_ID"
                //         ]);
                //         callback();
                //     });
                // }
            ], function (retValue) {
                if (retValue) {
                    _PageData.flag = retValue.message + retValue.errorCode;
                }
                CommonUtils.Common.PageScript_PageData(res, _PageData);
                res.render("order-manage/admin-manage/anchorintegral-info", callback);
            });
        }
    }
    //endregion
};